﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
using BackEndSystemWebTv.CC;
using BackEndSystemWebTv.Enums;
using BackEndSystemWebTv.BU;

namespace BackEndSystemWebTv.Controls
{
    public partial class FacebookSimulatie : System.Web.UI.UserControl
    {
        private CCGebruikersBeheer gebruiker;
        private CCLogTest logTest;
        private CCSocialMediaBeheer sociaalMedium;
        private string gebruikersnaamHuidig;
        private string wachtwoordHuidig;

        private string user;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //LaadInfo();
                VernieuwTextboxen();
            }
            lbResultaatWijziging.Text = "";
        }

        private void VernieuwTextboxen()
        {
            tbGebruikersnaamNieuw.Text = gebruikersnaamHuidig;
            tbWachtwoordNieuw.Text = wachtwoordHuidig;
        }

        /// <summary>
        /// Laad de bijbehorende gebruikersnaam van Facebook voor de
        /// gebruiker die ingelogd is op de webpagina.
        /// </summary>
        private void LaadInfo()
        {
            user = Page.User.Identity.Name;
            sociaalMedium = new CCSocialMediaBeheer();

            Dictionary<string,string> gegevens = sociaalMedium.HaalSociaalMediaInfoOp(user, ESocialMedium.Facebook);
            foreach (KeyValuePair<string,string> item in gegevens)
            {
                if (item.Key == "gebruikersnaam")
                {
                   gebruikersnaamHuidig = item.Value;
                }
                if (item.Key == "wachtwoord")
                    wachtwoordHuidig = item.Value;                       
            }
            
        }

        protected void btnFbVerzenden_Click(object sender, EventArgs e)
        {
            string inhoud = tbFbInhoud.Text;
            user = Page.User.Identity.Name;
            logTest = new CCLogTest();
            ELogResultaat resultaat =  logTest.LogChatActiviteit(inhoud, user, ESocialMedium.Facebook);
            tbFbInhoud.Text = "";
            lbResultaat.Text = resultaat.ToString();
        }

        /// <summary>
        /// Wijzig de gegevens van de ingelogde gebruiker.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnBevestigWijzigingen_Click(object sender, EventArgs e)
        {
            LaadInfo();
            string gebruikersnaamNieuw = tbGebruikersnaamNieuw.Text;
            string wachtwoordNieuw = tbWachtwoordNieuw.Text;

            if(gebruikersnaamHuidig == gebruikersnaamNieuw &&
                wachtwoordHuidig == wachtwoordNieuw)
            {
                lbResultaatWijziging.Text = "Geen gegevens om te wijzigen";
            }
            if (gebruikersnaamHuidig != gebruikersnaamNieuw ||
                wachtwoordHuidig != wachtwoordNieuw)
            {
                sociaalMedium = new CCSocialMediaBeheer();
                user = Page.User.Identity.Name;
                sociaalMedium.WijzigSociaalMediumGegevens(user, gebruikersnaamNieuw, wachtwoordNieuw, ESocialMedium.Facebook);
                lbResultaatWijziging.Text = "Gegevens zijn gewijzigd";
            }
        }

        /// <summary>
        /// Laad de gegevens van de gebruiker in de textboxes.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Settings_Click(object sender, ImageClickEventArgs e)
        {
            LaadInfo();
            VernieuwTextboxen();
        }

    }
}